iT邦幫忙

2025 iThome 鐵人賽

DAY 7
0
自我挑戰組

Leetcode 自學系列 第 7

自學Leetcode Day7

  • 分享至 

  • xImage
  •  

206.REVERSE LINKED LIST
1.題目理解:給我一個單向鏈結串列的頭節點 HEAD,我要回傳一個新的頭節點,使整條鏈結串列的順序反轉。
2.解題觀念:使用三個指標去做迴圈https://ithelp.ithome.com.tw/upload/images/20250920/20169241daRzAMRyi2.png
3.程式碼說明(初始狀態):
prev = null
curr = 1 → 2 → 3 → 4 → 5
4.程式碼說明(第一次迴圈):
next = curr.next // next = 2
curr.next = prev // 1.next = null
prev = curr // prev = 1
curr = next // curr = 2
結果:1 → null (prev)
2 → 3 → 4 → 5 (curr)
5.程式碼說明(第二次迴圈):
next = curr.next // next = 3
curr.next = prev // 2.next = 1
prev = curr // prev = 2
curr = next // curr = 3
結果:2 → 1 → null
3 → 4 → 5
6.程式碼說明(第三次迴圈):
next = curr.next // next = 4
curr.next = prev // 3.next = 2
prev = curr // prev = 3
curr = next // curr = 4
結果:3 → 2 → 1 → null
4 → 5
7.程式碼說明(第四次迴圈):
next = curr.next // next = 5
curr.next = prev // 4.next = 3
prev = curr // prev = 4
curr = next // curr = 5
結果:4 → 3 → 2 → 1 → null
5
8.程式碼說明(第五次迴圈):
next = curr.next // next = null
curr.next = prev // 5.next = 4
prev = curr // prev = 5
curr = next // curr = null (結束)
結果:5 → 4 → 3 → 2 → 1 → null
最後回傳 prev,也就是新的頭節點
9.程式碼截圖:
https://ithelp.ithome.com.tw/upload/images/20250921/20169241ds6BbrSJen.png
10.透過這次的練習不僅讓我可以複習老師之前上過的內容,也了解到原來reverseList都可以應用在生活上,像我這次所運用到的reverseList不只是學術題目,它其實在許多應用層面(UI、資料呈現、系統處理)中都很常見,尤其在處理需要反向邏輯或歷史紀錄的情境。雖然我這次選的題目偏簡單,但我在接下來的21天會去嘗試比較難的題目做練習。


上一篇
自學Leetcode Day6
下一篇
自學Leetcode Day8
系列文
Leetcode 自學11
圖片
  熱門推薦
圖片
{{ item.channelVendor }} | {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言